package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.pojo.CheckGroup;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface CheckGroupDao {

    //新增检查组
    public void add(CheckGroup checkGroup);

    //设置检查组和检查项多对多关系
    public void setCheckGroupAndCheckItem(Map map);
    //xml映射文件可以直接写(#{checkgroupId}, #{checkitemId})
    //public void setCheckGroupAndCheckItem(@Param("checkitemId") Integer checkitemId,@Param("checkGroupId") Integer checkGroupId);

    //建立检查组和检查项多对多关系(批量操作)
    public void batchsetCheckGroupAndCheckItem(@Param("checkGroupId") Integer checkGroupId,@Param("checkitemIds") Integer[] checkitemIds);

    //检查组分页条件查询
    public Page<CheckGroup> selectByCondition(String queryString);

    //根据id查询检查组
    public CheckGroup findById(Integer id);

    //根据检查组id查询当前检查组包含的检查项的ID
    public List<Integer> findCheckItemIdsByCheckGroupId(Integer id);

    //根据id编辑检查组
    public void edit(CheckGroup checkGroup);

    //清除当前检查组关联的检查项,操作中间关系表t_checkgroup_checkitem表
    public void deleteAssoication(Integer id);

    //查询所有检查组
    public List<CheckGroup> findAll();


}
